package com.etone.smartAudit.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.etone.smartAudit.domain.ServerCollect;
import com.etone.smartAudit.vo.serverInfo.serverCollect.CpuUsedRateVO;
import com.etone.smartAudit.vo.serverInfo.serverCollect.DiskUsedVO;
import com.etone.smartAudit.vo.serverInfo.serverCollect.MemoryUsedVO;
import com.etone.smartAudit.vo.serverPath.ServerPathVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @author: sovy
 * @date: 2020/10/14
 * @description:
 */

@Mapper
public interface ServerCollectMapper extends BaseMapper<ServerCollect> {

    int cleanServerInfo(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

    /**
     * cpu使用率
     *
     * @param id
     * @param startTime
     * @param endTime
     * @return
     */
    List<CpuUsedRateVO> cpuUsedRateRecord(@Param("id") Integer id, @Param("startTime") Date startTime, @Param("endTime") Date endTime);

    /**
     * 内存使用情况
     *
     * @param id
     * @param startTime
     * @param endTime
     * @return
     */
    List<MemoryUsedVO> memoryUsedRecord(@Param("id") Integer id, @Param("startTime") Date startTime, @Param("endTime") Date endTime);

    /**
     * 磁盘使用情况
     *
     * @param id
     * @param startTime
     * @param endTime
     * @return
     */
    List<DiskUsedVO> diskUsedRecord(@Param("id") Integer id, @Param("startTime") Date startTime, @Param("endTime") Date endTime);

    /**
     * 服务器资源信息
     *
     * @param id
     * @return
     */
    List<ServerPathVO> listServerItems(@Param("id") Integer id);

    /**
     * 所有服务器项目信息
     *
     * @param adminId
     * @return
     */
    List<ServerPathVO> listAllServerItem(@Param("adminId") Integer adminId);
}